Wireless transportation protocol

ABSTRACT

A data transportation protocol ( 13, 21 ) for transferring data within a wireless network ( 6 ), the protocol ( 13, 21 ) comprising: a block I/O interface layer ( 40 ) to provide a single level of translation between block I/O storage protocol commands and network packets; and a wireless transport layer ( 41 ) to transport the network packets between a client ( 6 A) and server ( 6 B) within the network ( 6 ); wherein the block I/O interface layer ( 40 ) performs operations directly on a storage device driver ( 23 ) and a network device driver ( 14, 20 ) of the client ( 6 A) and server ( 6 B).

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention concerns a data transportation protocol for a wirelessnetwork.

2. Description of Related Art

Mobile devices with large storage capacity such as mobile computingdevices, image capturing devices, and portable media player devices arebecoming more prevalent. It is expected that wireless components such asIEEE 802.11a/b/g or Ultra Wideband (UWB) will be integrated with thesemobile devices to provide high bandwidth data access and data sharingabilities. However, existing storage transportation protocols such asIP-based storage protocols (iSCSI, FCIP, iFCP) are not well suited fortransporting storage commands and data over a wireless network. Theseprotocols tend to be heavy protocols and are not optimized toappropriately deal with the high packet errors and high packet lossenvironment of a wireless network. In a wireless network, severeperformance degradation of these protocols is encountered.

Typically, a mobile storage device provides a data sharing service thatis file based or block based. File based data sharing services includeNFS, FTP, CIFS. File based data sharing services suffer from excessivefile operation and TCP/IP overhead on the server side.

Block based data sharing services include Internet Small ComputerSystems Interface (iSCSI). Block based data sharing services alleviatethe burden on the server by moving the file operation to be performed bythe client. However, iSCSI is ill suited for wireless networks as itsuffers performance degradation due to high bit error and packet lossrates. As most wireless networks are single hop, using the TCP/IPprotocol stack is inefficient as there is significant overhead. Onesolution has been to offload TCP/IP processing to a TCP/IP offloadengine (TOE) on a chip or Host Bus Adapter (HBA) In addition to TCP/IPoffloading, the encoding and decoding of iSCSI protocol data units(PDUs) can be offloaded to a dedicated iSCSI offload engine to furtherenhance the performance of the host system. This adds to the total costof ownership and requires purchase of specialized hardware devices.

Accordingly, there is a desire for an improved transportation protocolfor wireless applications. In particular, there is a desire for atransportation protocol highly suitable for short range wirelessapplications.

BRIEF SUMMARY OF THE INVENTION

In a first preferred aspect, there is provided a method for transferringdata within a wireless network, the method comprising: translatingbetween block I/O storage protocol commands and network packets, in asingle level; and transporting the network packets between a client andserver within the network; wherein operations are performed directly ona storage device driver and a network device driver of the client andserver.

In a second aspect, there is provided a data transportation protocol fortransferring data within a wireless network, the protocol comprising: ablock I/O interface layer to provide a single level of translationbetween block I/O storage protocol commands and network packets; and awireless transport layer to transport the network packets between aclient and server within the network; wherein the block I/O interfacelayer performs operations directly on a storage device driver and anetwork device driver of the client and server.

The protocol may serve the functions of the network layer or thetransport layer in the Open Systems Interconnection Reference (OSI)model.

The protocol may serve the functions of the network layer in the OSImodel, and the network device driver transfers data using Media AccessControl (MAC) addressing of the data link layer in the OSI model.

The protocol may serve the functions of the transport layer in the OSImodel, and the data is transferred according to a corresponding networklayer addressing scheme.

The storage protocol commands may include any one of the groupconsisting of: SATA, ATA and SCSI.

The network packets may be Ethernet frames or corresponding network datalink frames.

The network packets may be IP packets or corresponding network layerframes.

The wireless transport layer may comprise a sliding window transfer withpacket loss control.

The wireless transport layer may comprise a fast receiver and sendertimeout value obtained from underlying network architecture.

A repeated ACK packet may be used to report packet loss.

A new timeout value may be based on a round trip time of other wirelessprotocols.

The wireless transport layer may comprise fast packet loss detection andselective retransmission to selectively retransmit lost packets.

Packet losses may be detected by a hole detection algorithm in whichcontinuous lost packets in the sliding window are defined as a hole, andvarious hole patterns detected by the algorithm enable errors to berecovered.

In a third aspect, there is provided a data packet when constructedaccording to the data transportation protocol as described.

BRIEF DESCRIPTION OF THE DRAWINGS

An example of the invention will now be described with reference to theaccompanying drawings, in which:

FIG. 1 depicts the protocol layering when a transportation protocol inaccordance with a preferred embodiment of the present invention is usedas a transport;

FIG. 2 is a pictorial diagram of features of the transportationprotocol;

FIG. 3 is a pictorial diagram of a re-transmit event for thetransportation protocol;

FIG. 4 is a histogram comparing CPU utilisation of iSCSI against thetransportation protocol;

FIG. 5A depicts a protocol data unit (PDU) constructed by thetransportation protocol; and

FIG. 5B depicts a storage command header.

DETAILED DESCRIPTION OF THE INVENTION

The drawings and the following discussion are intended to provide abrief, general description of a suitable computing environment in whichthe present invention may be implemented. Although not required, theinvention will be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer such as a personal computer, laptop computer,notebook computer, tablet computer, PDA and the like. Generally, programmodules include routines, programs, characters, components, datastructures, that perform particular tasks or implement particularabstract data types. As those skilled in the art will appreciate, theinvention may be practiced with other computer system configurations,including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics, network PCs,minicomputers, mainframe computers, and the like. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

Referring to the drawings, a wireless storage transportation protocol(WSTP) 13, 21 for a wireless network 6 is provided. These drawingsillustrate the deployment of WSTP 13, 21 directly above the data linklayer of the Open Systems Interconnection Reference (OSI) model. WSTPmay also be deployed as the transport layer directly above the networklayer. The protocol is a two layer protocol and comprises: a block I/Ointerface layer 40 which is the higher layer and a wireless transportlayer 41 which is the lower layer. The block I/O interface layer 40provides a single level of translation between block I/O storageprotocol commands and network packets. The block I/O interface layer 40handles the translation between existing block I/O storage protocolssuch as SATA, ATA, and SCSI into network packets, and vice-versa. Thistranslation is performed in a single level. The wireless transport layer41 transports the network packets between a client 6A and server 6Bwithin the network 6. The wireless transport layer 41 handles thenetwork packet transportation between server and client. The protocolhas a compact architecture which minimizes the overheads of networkpacket headers and its complexity. The block I/O interface layer 40performs operations directly on a storage device driver 23 and a networkdevice driver 14, 20 of the client 6A and server 6B. Preferably, WSTP isused for short range wireless local area networks (LANs) or personalarea networks (PANs).

Turning to FIGS. 1 and 2, from an application 10 on the client side 6A,mass storage I/Os are performed through a variety of system calls. Whenthese I/Os reach the storage protocol layer 12, device specific storagecommand headers are constructed to perform the requested operation. Thestorage protocol layer 12 may be SCSI, SATA, or ATA. A host memorybuffer descriptor for transmission or receipt of data (if necessary) isconstructed. This information is then passed to the WSTP protocol layer13 where the block I/O interface layer 40 of WSTP 13 constructs aProtocol Data Unit (PDU) containing the storage command header and PDUdata (if data is to be transmitted/written). The block I/O interfacelayer 40 provides block I/O to Ethernet PDU translation, where Ethernetis based on Media Access Control (MAC) addressing. Typically, block I/Omeans that the application 10 or file system 11 is sending blocks to thestorage device 24 to be written or asking for blocks using a logicalblock address (LBA). FIG. 5A depicts a PDU. The PDU is then passed tothe wireless transport layer 41 of WSTP 13, where packetization forsegments and datagrams is performed. Next, the datagram is passed to thewireless network driver 14, where Ethernet frame packetization isperformed. Finally, the Ethernet frames are placed on the network 6.FIG. 5B depicts a storage command header of the PDU.

When wireless network driver 20 at the server side 6B receives theEthernet frames, it removes the frame encapsulation and passes theresults up to the wireless transport layer 41 of WSTP 21. The wirelesstransport layer 41 removes the datagram and segment encapsulation,leaving a PDU to be passed to the block I/O interface layer 40 of WSTP21. The block I/O interface layer 40 removes the storage command headerand data (if present) from the PDU and passes them to the storageprotocol layer 22 for interpretation. Finally, the requested massstorage operation is performed by the disk driver 23 on the storagedevice 24.

At any stack layer below the application layer 10 on the client 6A, theprotocol 13 may be implemented in hardware. Hardware is meant to includetangible components as well as the firmware that runs on thosecomponents. Similarly, at any stack layer below the actual logical units20 on the server 6B, the protocol implementation may be in hardware.Layers below the first hardware implementation in either stack must alsoexist in hardware.

Referring to FIG. 3, WSTP 13 has sliding window transfer with packetloss control. Any packet dropping signal is considered a packet loss. Nocongestion exists in the peer-to-peer connection. Also, the slidingwindow does not shrink when there is packet loss. WSTP 13 has a fastreceiver and sender timeout value taken from the underlying wirelessnetwork architecture such as IEEE 802.11 or Ultra Wideband (UWB). Thenew timeout value is computed based on round trip time of various otherwireless protocols.

WSTP 13 also has fast packet loss detection and selectiveretransmission. The ACK of WSTP 13 produces more retransmissioninformation than other transport protocols. WSTP 13 selectivelyretransmits lost packets in contrast to other transport protocols whichretransmit the entire packet queue. Thus, recovery from lost or badpackets is fast under WSTP 13. In the example of FIG. 3, the ACK (2) istransmitted within 10 ms of receipt of the first packet (1) when thesecond packet (2) is considered lost. When the ACK (2) is received, thesecond packet (2) is retransmitted. The third packet (3) is transmittedimmediately after re-transmission of the second packet (2).

To save the battery life and improve the performance, WSTP 13 directlyuses data link layer to transfer data using a Media Access Control (MAC)addressing method. WSTP 13 has a compact protocol layer architecturewhich enables less CPU utilization and longer battery life.

WSTP 13 uses block level access to move the computational load of filelevel operations to the client 6A. WSTP 13 directly employs data linklayer as a transmission connection to avoid transmission overheadcommonly seen with other transportation protocols such as TCP/IP. Inexperiments, a wireless storage server using WSTP 13 has betterperformance and has less power consumption. Referring to FIG. 4, whenworking at same maximum throughput, a mobile device using WSTP 13consumes half of the CPU power as that of other protocols such as iSCSI.

Although WSTP 13 has been described with reference to short rangepeer-to-peer wireless mobile storage applications, it is envisaged thatit may also be applicable to long range wired or wireless networks. WSTP13 also can be used as generic transportation protocol for all otherpossible data transportation beyond storage data and commands. WSTP 13performs the transport layer function of the OSI model. In such ascenario, the block I/O interface layer 40 provides block I/O to thenetwork layer PDU translation and WSTP 13 directly uses the networklayer addressing scheme to communicate data between devices in thenetwork 6.

WSTP 13 is designed to be lightweight and incorporates mechanisms toreact effectively in lossy wireless network in order to maximize thebandwidth available. Packet losses in a wireless network is addressed bya hole detection algorithm where continuous lost packets in a slidingwindow are defined as a hole. By detecting different hole patterns,errors may be quickly recovered. WSTP 13 may be implemented on mobiledevices to provide low power consumption and data sharing services.

Although WSTP 13 is designed for a peer to peer wireless network, it canbe extended to any wired, wireless or hybrid wired/wireless network andalso for situations where an efficient and lightweight storagetransportation protocol for mobile devices is required and in lowbandwidth networks.

Since WSTP 13 is a transportation protocol, it can also be extendedbeyond storage data or commands, to support all other possible types ofdata transportation. WSTP 13 may be used alone or together with UserDatagram Protocol (UDP). It achieves good performance in an error-pronenetwork.

It will be appreciated by persons skilled in the art that numerousvariations and/or modifications may be made to the invention as shown inthe specific embodiments without departing from the scope or spirit ofthe invention as broadly described. The present embodiments are,therefore, to be considered in all respects illustrative and notrestrictive.

1. A method for transferring data within a wired or wireless network ina peer-to-peer connection, the method comprising: providing a client anda server connected in a network for communicating information;translating between block I/O storage protocol commands and networkpackets, in a single level; and transporting the network packets betweenthe client and the server within the network within a wireless transportlayer that comprises a sliding window transfer packet loss control,wherein operations are performed directly on a storage device driver anda network device driver of the client and the server.
 2. A datatransportation protocol for transferring data within a wired or wirelessnetwork in a peer-to-peer connection having a client and a serverconnected in a network for communicating information, the protocolcomprising: a block I/O interface layer to provide a single level oftranslation between block I/O storage protocol commands and networkpackets; and a wireless transport layer to transport the network packetsbetween the client and the server within the network, the wirelesstransport layer comprising a sliding window transfer with packet losscontrol, wherein the block I/O interface layer performs operationsdirectly on a storage device driver and a network device driver of theclient and the server.
 3. The protocol according to claim 2, wherein theprotocol serves the functions of the network layer or the transportlayer in the Open Systems Interconnection Reference (OSI) model.
 4. Theprotocol according to claim 3, wherein the protocol serves the functionsof the network layer in the OSI model, and the network device drivertransfers data using Media Access Control (MAC) addressing of the datalink layer in the OSI model.
 5. The protocol according to claim 3,wherein the protocol serves the functions of the transport layer in theOSI model, and the data is transferred according to a correspondingnetwork layer addressing scheme.
 6. The protocol according to claim 2,wherein the storage protocol commands include any one of the groupconsisting of: SATA, ATA and SCSI.
 7. The protocol according to claim 4,wherein the network packets are Ethernet frames or corresponding networkdata link frames.
 8. The protocol according to claim 5, wherein thenetwork packets are IP packets or corresponding network layer frames. 9.The protocol according to claim 2, further comprising a hole detectionalgorithm for detecting continuous lost packets in the sliding window,wherein various hole patterns are detected by the algorithm to enableerrors to be recovered.
 10. The protocol according to claim 2, whereinthe wireless transport layer comprises a receiver and sender timeoutvalue obtained from an underlying network architecture.
 11. The protocolaccording to claim 2, wherein a repeated ACK packet is used to reportpacket loss.
 12. The protocol according to claim 11, wherein a newtimeout value is based on a round trip time of other wireless protocols.13. The protocol according to claim 2, wherein the wireless transportlayer comprises fast packet loss detection and selective retransmissionto selectively retransmit lost packets.
 14. A data packet for use in awired or wireless network over a peer-to-peer connection having a clientand a server connected in a network for communicating information, thedata packet, comprising: a data packet, wherein the data packet isconstructed according to a data transportation protocol comprising: ablock I/O interface layer to provide a single level of translation blockI/O storage protocol commands and network packets; and a wirelesstransport layer to transport the network packets between the client andthe server within the network, the wireless transport layer comprising asliding window transfer with packet loss control; wherein the block I/Ointerface layer performs operations directly on a storage device driverand a network device driver of the client and the server whenconstructed according to the data transportation protocol according toclaim 2.